{"version":3,"file":"static/chunks/pages/news/[slug]-cf94d60e30385200.js","mappings":"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","sources":["webpack://_N_E/./src/graphql/post/queries/post.graphql","webpack://_N_E/?8256","webpack://_N_E/./src/components/common/HtmlContent/index.tsx","webpack://_N_E/./src/components/common/ImageProxy/index.tsx","webpack://_N_E/./src/components/layout/LayoutConfines/index.tsx","webpack://_N_E/./src/hooks/utils/useMediaQueries.ts","webpack://_N_E/./src/components/post/SinglePost/index.tsx","webpack://_N_E/./src/hooks/post/usePost.ts","webpack://_N_E/./src/pages/news/[slug].tsx","webpack://_N_E/./src/components/common/HtmlContent/HtmlContent.module.scss","webpack://_N_E/./src/components/layout/LayoutConfines/LayoutConfines.module.scss","webpack://_N_E/./src/components/post/SinglePost/SinglePost.module.scss"],"sourcesContent":["\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetPost\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"slug\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"postBySlug\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"slug\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"slug\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"slug\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publishedAt\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"imageUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mobileImageUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"body\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":164}};\n doc.loc.source = {\"body\":\"query GetPost($slug: String) {\\n postBySlug(slug: $slug) {\\n id\\n title\\n slug\\n publishedAt\\n imageUrl\\n mobileImageUrl\\n description\\n body\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"GetPost\"] = oneQuery(doc, \"GetPost\");\n \n","\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/news/[slug]\",\n function () {\n return require(\"private-next-pages/news/[slug].tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/news/[slug]\"])\n });\n }\n ","import { ReactNode } from 'react';\nimport { UiText } from 'znanie-uikit';\n\nimport css from './HtmlContent.module.scss';\n\ninterface IProps {\n html: string | ReactNode;\n truncate?: boolean;\n size?: number;\n char?: string;\n\n onClickMore?(isOpen: boolean): void;\n}\n\nexport default function HtmlContent({\n html,\n truncate,\n size = 1000,\n char = '',\n onClickMore,\n}: IProps) {\n if (typeof html !== 'string') {\n return
{html}
;\n }\n\n return (\n <>\n {truncate ? (\n
\n \n {html}\n \n
\n ) : (\n
\n )}\n \n );\n}\n","import Image, { ImageProps, ImageLoaderProps } from 'next/image';\n\nimport { urlSafeBase64 } from 'utils/helpers';\n\nexport interface ImageProxyProps {\n sourceWidth?: number;\n sourceHeight?: number;\n // https://github.com/imgproxy/imgproxy/blob/master/docs/generating_the_url.md#resizing-type\n resizingType?: 'auto' | 'fit' | 'fill' | 'fill-down' | 'force';\n // https://github.com/imgproxy/imgproxy/blob/master/docs/generating_the_url.md#gravity\n gravityType?:\n | 'no'\n | 'so'\n | 'ea'\n | 'we'\n | 'noea'\n | 'nowe'\n | 'soea'\n | 'sowe'\n | 'ce';\n // https://github.com/imgproxy/imgproxy/blob/master/docs/image_formats_support.md#image-formats-support\n extension?: 'png' | 'jpg' | 'webp';\n}\n\nexport const buildImgProxyUrl = (\n resizingType: ImageProxyProps['resizingType'],\n width: number,\n height: number,\n enlarge: number,\n gravityType: ImageProxyProps['gravityType'],\n quality: number,\n src: string,\n extension?: ImageProxyProps['extension']\n) => {\n const host = process.env.NEXT_PUBLIC_CDN_HOST as string;\n const encodedUrl = urlSafeBase64(src);\n\n return `${host}/insecure/rs:${resizingType}:${width}:${height}:${enlarge}/g:${gravityType}/q:${quality}/${encodedUrl}.${\n extension || 'webp'\n }`;\n};\n\nexport default function ImageProxy(props: ImageProxyProps & ImageProps) {\n const { width, height } = props;\n const {\n resizingType = 'fit',\n extension = 'webp',\n gravityType = 'no',\n sourceWidth,\n sourceHeight,\n ...imageProps\n } = props;\n\n // лоадер для формирования ссылки до изображения через imgproxy\n // https://github.com/imgproxy/imgproxy/blob/master/docs/generating_the_url.md\n const imgProxyLoader = ({ src, quality }: ImageLoaderProps) => {\n const imgWidth = (width || sourceWidth || 300) as number;\n const imgHeight = (height || sourceHeight || 300) as number;\n const imgQuality = quality || 0;\n const enlarge = 0;\n\n return buildImgProxyUrl(\n resizingType,\n imgWidth,\n imgHeight,\n enlarge,\n gravityType,\n imgQuality,\n src,\n extension\n );\n };\n\n return ;\n}\n","import { ReactNode } from 'react';\nimport cn from 'classnames';\nimport css from './LayoutConfines.module.scss';\n\ninterface IProps {\n children: ReactNode;\n extra?: boolean;\n className?: string;\n}\n\nexport default function LayoutConfines({\n children,\n extra = false,\n className,\n}: IProps) {\n return (\n
\n {children}\n
\n );\n}\n","import { useMediaQuery } from 'react-responsive';\n\nexport interface IMediaBreakpoints {\n [key: string]: boolean;\n isMobile: boolean;\n isMobileOrTablet: boolean;\n isTablet: boolean;\n isTabletOrDesktop: boolean;\n isDesktop: boolean;\n}\n\nexport function useMediaQueries(): IMediaBreakpoints {\n const isMobile = useMediaQuery({ maxWidth: 480 });\n const isMobileOrTablet = useMediaQuery({ maxWidth: 989 });\n const isTablet = useMediaQuery({ minWidth: 481, maxWidth: 989 });\n const isTabletOrDesktop = useMediaQuery({ minWidth: 769 });\n const isDesktop = useMediaQuery({ minWidth: 990 });\n\n return {\n isMobile,\n isMobileOrTablet,\n isTablet,\n isTabletOrDesktop,\n isDesktop,\n };\n}\n","import dayjs from 'dayjs';\nimport cn from 'classnames';\nimport { UiText, UiTitle } from 'znanie-uikit';\n\nimport ImageProxy from 'components/common/ImageProxy';\nimport HtmlContent from 'components/common/HtmlContent';\n\nimport { useMediaQueries } from 'hooks/utils/useMediaQueries';\n\nimport { PostType } from 'graphql/types';\n\nimport css from './SinglePost.module.scss';\n\ninterface IProps {\n post: PostType;\n}\n\nexport default function SinglePost({ post }: IProps) {\n const { isMobile } = useMediaQueries();\n\n return (\n
\n
\n \n
\n
\n
\n \n {post.title}\n \n
\n
\n {dayjs(post.publishedAt).format('DD MMMM YYYY')}\n
\n
\n \n {post.description}\n \n
\n \n
\n
\n );\n}\n","import { ApolloClient, NormalizedCacheObject, useQuery } from '@apollo/client';\n\nimport POST_QUERY from 'graphql/post/queries/post.graphql';\n\nimport { GetPostQuery, GetPostQueryVariables } from 'graphql/types';\n\nexport const usePost = (slug: string) =>\n useQuery(POST_QUERY, {\n variables: {\n slug,\n },\n });\n\nexport const getPostSsr = async (\n client: ApolloClient,\n slug: string\n) => {\n try {\n return await client.query({\n query: POST_QUERY,\n variables: {\n slug,\n },\n });\n } catch (err) {\n console.log(err);\n }\n};\n","import { GetServerSidePropsContext } from 'next';\nimport { ParsedUrlQuery } from 'querystring';\nimport { UiLoader } from 'znanie-uikit';\nimport initializeApollo, { addApolloState } from 'apollo-client';\n\nimport LayoutConfines from 'components/layout/LayoutConfines';\nimport SinglePost from 'components/post/SinglePost';\nimport PageMeta, { defaultMeta } from 'components/layout/PageMeta';\n\nimport NotFound from 'pages/404';\n\nimport { usePost, getPostSsr } from 'hooks/post/usePost';\nimport { PostType } from 'graphql/types';\n\ninterface IParams extends ParsedUrlQuery {\n slug: string;\n}\n\ninterface IProps {\n slug: string;\n}\n\nexport default function Post({ slug }: IProps) {\n const { data: postData, loading: postLoading } = usePost(slug);\n const post = postData?.postBySlug as PostType;\n\n if (!post) {\n return ;\n }\n\n return (\n <>\n \n \n \n \n \n \n \n );\n}\n\nexport async function getServerSideProps(ctx: GetServerSidePropsContext) {\n const apolloClient = initializeApollo();\n const { slug } = ctx.params as IParams;\n\n await getPostSsr(apolloClient, slug);\n\n return addApolloState(apolloClient, {\n props: {\n slug,\n },\n });\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"block\":\"HtmlContent_block__2pfee\",\"text\":\"HtmlContent_text__LdcIm\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"wrapper\":\"LayoutConfines_wrapper__9yCbF\",\"extra\":\"LayoutConfines_extra__gyZwP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"block\":\"SinglePost_block__HaByS\",\"cover\":\"SinglePost_cover__XTUX1\",\"container\":\"SinglePost_container__EzGXC\",\"title\":\"SinglePost_title__qxDQL\",\"date\":\"SinglePost_date__Eorev\",\"descriptionInner\":\"SinglePost_descriptionInner__JT51N\",\"content\":\"SinglePost_content__0qFhj\"};"],"names":["doc","loc","source","collectFragmentReferences","node","refs","kind","add","name","value","type","selectionSet","selections","forEach","selection","variableDefinitions","def","definitions","definitionRefs","findOperation","i","length","element","Set","module","exports","operationName","newDoc","hasOwnProperty","opRefs","allRefs","newRefs","refName","size","prevRefs","has","childRef","op","push","oneQuery","window","__NEXT_P","HtmlContent","html","truncate","char","onClickMore","div","className","css","UiText","withFormat","isBlur","dangerouslySetInnerHTML","__html","buildImgProxyUrl","resizingType","width","height","enlarge","gravityType","quality","src","extension","encodedUrl","urlSafeBase64","process","ImageProxy","props","sourceWidth","sourceHeight","imageProps","Image","loader","LayoutConfines","children","extra","cn","useMediaQueries","isMobile","useMediaQuery","maxWidth","isMobileOrTablet","isTablet","minWidth","isTabletOrDesktop","isDesktop","SinglePost","post","mobileImageUrl","imageUrl","alt","title","layout","objectFit","objectPosition","UiTitle","as","weight","dayjs","publishedAt","format","description","body","client","slug","query","POST_QUERY","variables","console","log","Post","usePost","useQuery","data","loading","postData","postBySlug","PageMeta","image","canonicalHref","defaultMeta","UiLoader","postLoading","NotFound"],"sourceRoot":""}